#include<bits/stdc++.h>
using namespace std;
struct card
{
	int b;
	int c;
};
bool cmp(card a1,card a2)
{
	return a1.c>a2.c;
}

int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);

	int n,m;
	cin>>n>>m;
	int arr[n+1];
	for(int i=1; i<=n; i++) cin>>arr[i];
	card c[m+1];
	for(int i=1; i<=m; i++) cin>>c[i].b>>c[i].c;
	sort(c+1,c+m+1,cmp);
	sort(arr+1,arr+1+n);
	int posi=1;
	for(int i=1; i<=m; i++)
	{
		if(arr[posi]>=c[i].c) break;
		else
		{
			int j=posi;
			for(; j<=n&&c[i].b>0; j++)
			{
				if(arr[j]<c[i].c)
				{
					arr[j]=c[i].c;
					c[i].b--;
					posi++;
				}
			}
		}
	}
	long long sum=0;
	for(int i=1; i<=n; i++) sum+=arr[i];
	cout<<sum<<endl;

	return 0;
}
